import { createApp } from 'vue'
import { createPinia } from 'pinia'
import router from './router'
import App from './App.vue'
import './style.css'

// Naive UI
import {
  create,
  NButton,
  NCard,
  NLayout,
  NLayoutHeader,
  NLayoutContent,
  NSpace,
  NGrid,
  NGridItem,
  NIcon,
  NAvatar,
  NTag,
  NBadge,
  NInput,
  NForm,
  NFormItem,
  NSelect,
  NDatePicker,
  NCheckbox,
  NRadio,
  NRadioGroup,
  NModal,
  NMessageProvider,
  NConfigProvider,
  NLoadingBarProvider,
  NDialogProvider,
  NNotificationProvider,
  NUpload,
  NUploadDragger
} from 'naive-ui'

const naive = create({
  components: [
    NButton,
    NCard,
    NLayout,
    NLayoutHeader,
    NLayoutContent,
    NSpace,
    NGrid,
    NGridItem,
    NIcon,
    NAvatar,
    NTag,
    NBadge,
    NInput,
    NForm,
    NFormItem,
    NSelect,
    NDatePicker,
    NCheckbox,
    NRadio,
    NRadioGroup,
    NModal,
    NMessageProvider,
    NConfigProvider,
    NLoadingBarProvider,
    NDialogProvider,
    NNotificationProvider,
    NUpload,
    NUploadDragger
  ]
})

const app = createApp(App)
const pinia = createPinia()

app.use(pinia)
app.use(router)
app.use(naive)

app.mount('#app')
